package com.itzmn.newcode.offer1;

/**
 * @Author: 张梦楠
 * @Date: 2018/12/18 15:37
 * 简书：https://www.jianshu.com/u/d611be10d1a6
 * 码云：https://gitee.com/zhangqiye
 * @Description: 变态跳台阶
 *
 *  一只青蛙一次可以跳上1级台阶，也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
 *
 *  每一阶，的跳法是以前所有阶的跳法总和
 *  那么n 就是n-1以前的和，n-1以前加起来就是n-1，所以n就是两个n-1
 *
 */
public class _9_Metamorphosis {

    public static void main(String[] args) {
        new _9_Metamorphosis().test();
    }

    private void test() {

        JumpFloorII(5);
    }
    public int JumpFloorII(int target) {
        if (target == 1){
            return 1;
        }
        if (target == 2){
            return 2;
        }
        return 2*JumpFloorII(target-1);

    }

}
